package cn.kgc.mybatis.mapper;

import cn.kgc.mybatis.entity.Emp;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @author 课工场
 * @date 2024/1/27
 * @description  mybatis框架中使用注解完成crud操作
 * 常见的注解：
 *    1.@Select  查询
 *    2.@Update  更新
 *    3.@Insert   添加
 *    4.@Delete   删除
 *    5.@Results  结果集自定义映射规则
 *    6.@ResultMap   引用结果集的映射规则
 */

public interface EmpMapper {

    @Select("select * from emp")
    @Results(id = "empMap",value = {
            @Result(column = "ename",property = "empName")
    })
    List<Emp>  selectEmps();

    @Select("select * from emp where id = #{id}")
    @ResultMap("empMap")
    Emp  selectById(Integer id);

    @Update("update emp set age = #{age} where id = #{id}")
    Integer  updateEmp(Emp emp);

    @Insert("insert into emp (ename,age,deptno)values (#{ename},#{age},#{deptno})")
    Integer addEmp(Emp emp);


    @Delete("delete from emp where id = #{id}")
    Integer deleteById(Integer id);
}
